package com.yaxin.outsourcing.domain.vo;

import com.baomidou.mybatisplus.annotation.*;
import com.yaxin.outsourcing.enums.PersonStatus;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 外协人员信息表
 * </p>
 *
 * @author zcc
 * @since 2025-07-29
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class OutsourcingPersonMsgVO implements Serializable {

    /**
     * 被访人工号
     */
    private String empNo;

    /**
     * 姓名
     */
    private String userName;

    /**
     * 身份证号
     */
    private String idCard;

    /**
     * 联系方式
     */
    private String userPhone;

    /**
     * IC卡编号
     */
    private String icNo;

    /**
     * 来访人数
     */
    private Integer personSum;

    /**
     * 车牌号
     */
    private String plateNumber;

    /**
     * 车牌颜色 1-蓝色 2-黄色 3-绿色
     */
    private String plateColor;

    /**
     * 访客事由
     */
    private String reason;

    /**
     * 访客类型 1-访客 2-应聘
     */
    private String eventType;

    /**
     * 来访区域 1-厂区 2-办公区
     */
    private String visitorArea;

    /**
     * 人员类型 1-外协 2-访客
     */
    private String personType;

    /**
     * 进厂时间
     */
    @TableField(value = "entryTime", fill = FieldFill.INSERT)
    private LocalDateTime beginTime;

    /**
     * 结束时间
     */
    private LocalDateTime endTime;

    /**
     * 2寸免冠照片
     */
    @TableField(value = "portraitPhoto", fill = FieldFill.INSERT)
    private String faceFile;


    /**
     * 新增时间
     */
    private LocalDateTime createTime;

    /**
     * 修改日期
     */
    private LocalDateTime updateTime;

    /**
     * 外协单位名称
     */
    @TableField(exist = false)
    private String companyName;

    /**
     * 外协单位工作区域
     */
    @TableField(exist = false)
    private String workArea;

    /**
     * 备注
     */
    private String memo;

}
